怎样自定义spring boot @configuration 的加载顺序? 如果在第三方jar包中,该怎么干预加载顺序呢? 多个conditionOn 到底哪个呢?

您所在的位置:网站首页 spring boot bean 加载顺序 怎样自定义spring boot @configuration 的加载顺序? 如果在第三方jar包中,该怎么干预加载顺序呢? 多个conditionOn 到底哪个呢?

怎样自定义spring boot @configuration 的加载顺序? 如果在第三方jar包中,该怎么干预加载顺序呢? 多个conditionOn 到底哪个呢?

2024-06-20 11:52| 来源: 网络整理| 查看: 265

1.spring boot bean 的加载顺序?

2. spring boot bean 是否加载?

3.配置文件的加载顺序,及优先级,怎样干预加载的配置文件?

4 .加载之后怎样修改bean 的属性呢?尤其在修改第三方的jar包中的属性? 怎么做到?

 

 

1.@Configuration 注解的加载允许由于@AutoConfiguratio注解的加载, 实现Ordered接口,重写里面的getOrder方法,返回一个整数,值越小,优先级越高,org.springframework.core.Ordered.HIGHEST_PRECEDENCE表示最高优先级

标注@Order 注解,同样值越小优先级越高; 自动配置类的使用 @AutoConfigureAfter,@AutoConfigureBefore ,@AutoConfigureOrder 来限定

 

2:a.@Profie 注解可以限定在指定环境加载,

b.@ConditionXXX系列注解可以限定bean 是否加载,

c.实现XXXpostProcesser,可以手动控制bean 加载,包括增删改等

d,实现XXXAware,获得上下文,手动干预

f.@ComponentScan里面的属性限制

g:自定义TypeFilter来限定bean 是否注册

3.实现EnvironmentPostProcessor,be在spring.factories中注册,可以对任何属性进行修改,重新设置等

4: 修改bean 的属性:.实现BeanPostProcessor,BeanPostProcessor,接口实现里面的方法,从上下文刚中获取Bean,返回就OK了

对于第三方jar包还可以自已第一一份使用org.springframework.context.annotation.Primary 注解替换掉原有的,自己实现一份

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3